package com.jinmdz.fmis.dao.model.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.common.annotation.AnColumn;
import com.jinmdz.fmis.common.annotation.AnTable;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 火化数据查询
 *
 * @author GuanKui
 * @date 2020/2/25 14:54
 */
@AnTable(value = "Sheet", title = "火化数据查询")
@ApiModel(value = "火化数据查询", description = "火化数据查询")
public class SearchCremationDataViewItem extends BaseBean {

    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    @AnColumn(value = "业务编码", index = 0)
    private String businessCode;

    /**
     * 逝者姓名
     */
    @ApiModelProperty(value = "逝者姓名", name = "deadName", position = 2)
    @AnColumn(value = "逝者姓名", index = 1)
    private String deadName;

    /**
     * 逝者性别编号
     */
    @ApiModelProperty(value = "逝者性别编号", name = "deadGenderCode", position = 3)
    @JsonIgnore
    private Integer deadGenderCode;

    /**
     * 逝者性别
     */
    @ApiModelProperty(value = "性别", name = "deadGender", position = 4)
    @AnColumn(value = "性别", index = 2)
    @AnDict(dict = EDictCode.SEX, ref = "deadGenderCode")
    private String deadGender;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄", name = "deadAge", position = 5)
    @AnColumn(value = "年龄", index = 3)
    private String deadAge;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", name = "certificateNo", position = 6)
    @AnColumn(value = "证件号码", index = 4)
    private String certificateNo;

    /**
     * 火化炉类型编号
     */
    @ApiModelProperty(value = "火化炉类型编号", name = "furnaceTypeCode", position = 7)
    @JsonIgnore
    private Integer furnaceTypeCode;

    /**
     * 火化炉型
     */
    @ApiModelProperty(value = "火化炉型", name = "furnaceType", position = 8)
    @AnColumn(value = "火化炉型", index = 5)
    @AnDict(dict = EDictCode.FURNACE_TYPE, ref = "furnaceTypeCode")
    private String furnaceType;

    /**
     * 火化炉型
     */
    @ApiModelProperty(value = "火化炉型", name = "furnaceCode", position = 9)
    @AnColumn(value = "火化炉号", index = 6)
    private String furnaceCode;

    /**
     * 预约火化日期
     */
    @ApiModelProperty(value = "预约火化日期", name = "appointmentDate", position = 10)
    @AnColumn(value = "预约火化日期", pattern = BaseBean.yyyy_MM_dd, index = 7)
    @JsonFormat(pattern = yyyy_MM_dd)
    private Date appointmentDate;

    /**
     * 是否预约
     */
    @ApiModelProperty(value = "是否预约", name = "asAppointment", position = 11)
    @JsonIgnore
    private Integer asAppointment;

    /**
     * 是否预约文本
     */
    @ApiModelProperty(value = "是否预约", name = "asAppointmentText", position = 12)
    @AnColumn(value = "是否预约", index = 8)
    private String asAppointmentText;

    /**
     * 预约时间段
     */
    @ApiModelProperty(value = "预约时间段", name = "appointmentTimeSegment", position = 13)
    @AnColumn(value = "预约时间段", index = 9)
    private String appointmentTimeSegment;

    /**
     * 火化证号
     */
    @ApiModelProperty(value = "火化证号", name = "cremationNo", position = 14)
    @AnColumn(value = "火化证号", index = 10)
    private String cremationNo;

    public String getBusinessCode() {
        return businessCode;
    }

    public SearchCremationDataViewItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SearchCremationDataViewItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public Integer getDeadGenderCode() {
        return deadGenderCode;
    }

    public SearchCremationDataViewItem setDeadGenderCode(Integer deadGenderCode) {
        this.deadGenderCode = deadGenderCode;
        return this;
    }

    public String getDeadGender() {
        return deadGender;
    }

    public SearchCremationDataViewItem setDeadGender(String deadGender) {
        this.deadGender = deadGender;
        return this;
    }

    public String getDeadAge() {
        return deadAge;
    }

    public SearchCremationDataViewItem setDeadAge(String deadAge) {
        this.deadAge = deadAge;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public SearchCremationDataViewItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public Integer getFurnaceTypeCode() {
        return furnaceTypeCode;
    }

    public SearchCremationDataViewItem setFurnaceTypeCode(Integer furnaceTypeCode) {
        this.furnaceTypeCode = furnaceTypeCode;
        return this;
    }

    public String getFurnaceType() {
        return furnaceType;
    }

    public SearchCremationDataViewItem setFurnaceType(String furnaceType) {
        this.furnaceType = furnaceType;
        return this;
    }

    public String getFurnaceCode() {
        return furnaceCode;
    }

    public SearchCremationDataViewItem setFurnaceCode(String furnaceCode) {
        this.furnaceCode = furnaceCode;
        return this;
    }

    public Integer getAsAppointment() {
        return asAppointment;
    }

    public SearchCremationDataViewItem setAsAppointment(Integer asAppointment) {
        this.asAppointment = asAppointment;
        return this;
    }

    public String getAsAppointmentText() {
        return asAppointmentText;
    }

    public SearchCremationDataViewItem setAsAppointmentText(String asAppointmentText) {
        this.asAppointmentText = asAppointmentText;
        return this;
    }

    public Date getAppointmentDate() {
        return appointmentDate;
    }

    public SearchCremationDataViewItem setAppointmentDate(Date appointmentDate) {
        this.appointmentDate = appointmentDate;
        return this;
    }

    public String getAppointmentTimeSegment() {
        return appointmentTimeSegment;
    }

    public SearchCremationDataViewItem setAppointmentTimeSegment(String appointmentTimeSegment) {
        this.appointmentTimeSegment = appointmentTimeSegment;
        return this;
    }

    public String getCremationNo() {
        return cremationNo;
    }

    public SearchCremationDataViewItem setCremationNo(String cremationNo) {
        this.cremationNo = cremationNo;
        return this;
    }
}
